System, method, and apparatus for self-adaptive scheduled lighting control

ABSTRACT

A lighting control device is provided which includes a microcontroller, at least one wireless transceiver, at least one dimmer, one or more lighting terminals powered by the at least one dimmer, at least one environmental sensor, and at least one input device. In operation, the microcontroller obtains environmental data from the at least one environmental sensor, obtains input data from the at least one input device, transmits the environmental data and the input data to an external server, obtains a lighting operating schedule based on the environmental data and the input data from the external server, and executes the lighting operating schedule from the external server by controlling one or more smart bulbs via the at least one wireless transceiver and controlling the electrical current output to lighting terminals.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. Provisional Patent ApplicationNo. 62/049,754, filed Sep. 12, 2014 and entitled “System, Method, andApparatus For Self-Adaptive Scheduled Lighting Control.” The foregoingpatent application is hereby incorporated by reference into thisapplication in its entirety.

FIELD OF THE INVENTION

This disclosure is directed to lighting control devices. Morespecifically, this disclosure is directed to self-adaptive scheduledlighting control devices.

BACKGROUND

Until recently, the brightness of electric lights was only controlled byelectromechanical means. Specifically, a potentiometer, rheostat, or aspecial three-position luminaire was used to reduce the powerconsumption of the light bulb. However, these technologies were designedfor, and only worked well with, traditional incandescent bulbs.

Recent developments in lighting technology produced many new lightingproducts incorporating solid-state technology within the bulb. Compactfluorescent (CFL) bulbs used miniaturized switching power supplies andlight-emitting diodes (LEDs) are themselves solid-state electronicdevices. Early CFL and LED bulbs were not designed to accommodate thevariable voltage supplied by conventional dimmers, and did not workwell. Newer CFL and LED bulbs are designed to accommodated conventionaldimmers, but the user must still walk across the room and adjust thelights manually.

Simultaneously, developments in expensive wireless technology haveproduced so-called “smart” LED bulbs, which use integral wirelesscommunications to control the output of the LEDs in the bulb bycommunicating with a wireless computing device, such as a smartphone ora tablet computer. These smart bulbs allow the user to remotely changethe brightness and/or color of their smart LED bulbs, but the technologycannot be used with conventional bulbs. The technology still requiresmanual intervention by the user when a change is desired, rather thananticipating the user's desire and changing the lighting independently.Accordingly, a need exists for a new self-adaptive scheduled lightingcontrol aimed at overcoming the limitations associated with the priorart solutions.

SUMMARY

A lighting control device is disclosed. The lighting control deviceincludes a microcontroller, at least one wireless transceiveroperatively connected to the microcontroller, at least one dimmeroperatively connected to the microcontroller, at least one poweredlighting output operatively connected to the at least one dimmer, atleast one environmental sensor operatively connected to themicrocontroller, and at least one input device operatively connected tothe microcontroller. The microcontroller is configured to obtainenvironmental data from the at least one environmental sensor, obtaininput data from the at least one input device, transmit theenvironmental data and the input data to an external server, obtain fromthe external server a lighting operating schedule based on theenvironmental data and the input data, execute the lighting operatingschedule by controlling one or more smart bulbs via the at least onewireless transceiver and/or controlling the current output to the atleast one powered lighting output via the at least one dimmer.

A system is also disclosed for controlling lighting devices. The systemincludes a lighting control device, an external server, a computingdevice, and one or more lights. The lighting control device isconfigured to obtain environmental data from at least one environmentalsensor, obtain input data from at least one input device, transmit theenvironmental data and the input data to the external server, obtain alighting operating schedule from the external server based on theenvironmental data and the input data, and execute the lightingoperating schedule from the external server. The computing device isconfigured to obtain user input and transmit the user input to thelighting control device.

A computer-implemented method is also disclosed for controllingilluminating devices. The method includes the steps of: obtainingenvironmental data from at least one environmental sensor, obtaininginput data from at least one input device, transmitting theenvironmental data and the input data to an external server, obtaining alighting operating schedule from the external server based on theenvironmental data and the input data from the external server,executing the lighting schedule by controlling one or more smart bulbsvia the at least one wireless transceiver and/or controlling the currentoutput to the at least one powered lighting output via at least onedimmer.

A computer-implemented method is also disclosed for generating a newlighting operating schedule. The method includes the steps of: obtainingenvironmental data and input data from one or more lighting controldevices, weighting the obtained environmental data and input data, andgenerating a new lighting operating schedule based on a preexistinglighting operating schedule and the environmental data and the inputdata. The new lighting operating schedule defines the lighting intensityand/or the lighting color for one or more lights as a function of time.The new lighting operating schedule includes a modified version of thepreexisting lighting operating schedule which incorporates the weightedenvironmental data and input data.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an exemplary computing system in accordancewith one example of the present disclosure.

FIG. 2 is a block diagram of an exemplary lighting control device, inaccordance one example of with the present disclosure.

FIG. 3 is a block diagram of an exemplary lighting control systemillustrating components involved in the system's data management, inaccordance with one example of the present disclosure.

FIG. 4 is a block diagram of an exemplary logic module for FIGS. 2 and 3illustrating its functional elements, in accordance one example of withthe present disclosure.

FIG. 5 is a flow chart illustrating exemplary logic for a lightingcontrol device software or firmware, in accordance with one example ofthe present disclosure.

FIG. 6 is a flow chart illustrating exemplary process flow forgenerating lighting control schedules in a lighting system, inaccordance with one example of the present disclosure.

FIG. 7 is a flow chart illustrating exemplary logic for temporarilyinterrupting the scheduled operation of a lighting control devicesoftware or firmware, in accordance with one example of the presentdisclosure.

DETAILED DESCRIPTION

To facilitate an understanding of the principals and features of thedisclosed technology, illustrative embodiments are explained below. Thecomponents described hereinafter as making up various elements of thedisclosed technology are intended to be illustrative and notrestrictive. Many suitable components that would perform the same orsimilar functions as components described herein are intended to beembraced within the scope of the disclosed electronic devices andmethods. Such other components not described herein may include, but arenot limited to, for example, components developed after development ofthe disclosed technology.

It must also be noted that, as used in the specification and theappended claims, the singular forms “a,” “an” and “the” include pluralreferents unless the context clearly dictates otherwise.

By “comprising” or “containing” or “including” is meant that at leastthe named compound, element, particle, or method step is present in thecomposition or article or method, but does not exclude the presence ofother compounds, materials, particles, method steps, even if the othersuch compounds, material, particles, method steps have the same functionas what is named.

It is also to be understood that the mention of one or more method stepsdoes not preclude the presence of additional method steps or interveningmethod steps between those steps expressly identified. Similarly, it isalso to be understood that the mention of one or more components in adevice or system does not preclude the presence of additional componentsor intervening components between those components expressly identified.

Referring now to the Figures, in which like reference numerals representlike parts, various embodiments of the computing devices and methodswill be disclosed in detail. FIG. 1 is a block diagram illustrating oneexample of a computing device 100 suitable for use implementing themethods of scheduled lighting control set forth in this disclosure.

FIG. 1 illustrates a representative computing device 100 that may beused to implement the teachings of the instant disclosure. The computingdevice 100 may be used to implement, for example, one or more componentsof the device shown in FIG. 2, as described in greater detail below. Thecomputing device 100 may also be used to implement one or morecomponents of the system shown in FIG. 3. The computing device 100 mayalso be used to implement some or all of steps of the methods shown inFIGS. 5 and 6.

The computing device 100 includes one or more microcontrollers 102operatively connected to a storage component 104. The storage component104, in turn, includes stored executable instructions 116 and data 118.In an embodiment, the microcontroller(s) 102 may include one or more ofa microprocessor, microcontroller, digital signal processor,co-processor or the like or combinations thereof capable of executingthe stored instructions 116 and operating upon the stored data 118.Likewise, the storage component 104 may include one or more devices suchas volatile or nonvolatile memory including but not limited to randomaccess memory (RAM) or read only memory (ROM). Further still, thestorage component 104 may be embodied in a variety of forms, such as ahard drive, optical disc drive, floppy disc drive, flash memory, etc.Microcontroller and storage arrangements of the types illustrated inFIG. 1 are well known to those having ordinary skill in the art. In oneembodiment, the processing techniques described herein are implementedas a combination of executable instructions and data within the storagecomponent 104.

As shown, the computing device 100 may include one or more user inputdevices 106, a display 108, a peripheral interface 110, other outputdevices 112, and a network interface 114 in communication with themicrocontroller(s) 102. The user input device 106 may include anymechanism for providing user input to the microcontroller(s) 102. Forexample, the user input device 106 may include a keyboard, a mouse, atouch screen, microphone and suitable voice recognition application, orany other means whereby a user of the device 100 may provide input datato the microcontroller(s) 102. The display 108 may include anyconventional display mechanism such as a cathode ray tube (CRT), flatpanel display, or any other display mechanism known to those havingordinary skill in the art. In an embodiment, the display 108, inconjunction with suitable stored instructions 116, may be used toimplement a graphical user interface. Implementation of a graphical userinterface in this manner is well known to those having ordinary skill inthe art. The peripheral interface 110 may include the hardware, firmwareand/or software necessary for communication with various peripheraldevices, such as media drives (e.g., magnetic disk or optical diskdrives), other processing devices, or any other input source used inconnection with the instant techniques. Likewise, the other outputdevice(s) 112 may optionally include similar media drive mechanisms,other processing devices, or other output destinations capable ofproviding information to a user of the device 100, such as speakers,LEDs, tactile outputs, etc. Finally, the network interface 114 mayinclude hardware, firmware, and/or software that allows themicrocontroller(s) 102 to communicate with other devices via wired orwireless networks, whether local or wide area, private or public, asknown in the art. For example, such networks may include the World WideWeb or Internet, or private enterprise networks, as known in the art.

While the computing device 100 has been described as one form forimplementing the techniques described herein, those having ordinaryskill in the art will appreciate that other, functionally equivalenttechniques may be employed. For example, as known in the art, some orall of the functionality implemented via executable instructions mayalso be implemented using firmware and/or hardware devices such asapplication specific integrated circuits (ASICs), programmable logicarrays, state machines, etc. Furthermore, other implementations of thedevice 100 may include a greater or lesser number of components thanthose illustrated. Once again, those of ordinary skill in the art willappreciate the wide number of variations that may be used is thismanner. Further still, although a single computing device 100 isillustrated in FIG. 1, it is understood that a combination of suchcomputing devices may be configured to operate in conjunction (forexample, using known networking techniques) to implement the teachingsof the instant disclosure.

This disclosure includes systems, devices, and methods of controllinglighting systems, including smart bulbs. As will be understood bypersons having ordinary skill in the art, smart bulbs includereplaceable, interchangeable lighting devices designed to operate instandard luminaries. Smart bulbs include integral circuitry to controlthe intensity and/or hue (color) of their light output. Smart bulbs alsoinclude circuitry to communicate with one or more control devices. Acontrol device may be a specialized computing device; a genericcomputing device such as a tablet, smart phone, or personal computer; ora lighting control device as described later in this disclosure. Thesmart bulbs may communicate with the one or more control deviceswirelessly (via WiFi, Bluetooth, ZigBee, or other suitable technologyknown in the art), via power line carrier signal, or by another means,as understood by those skilled in the art.

This disclosure can also be used to control conventional bulbs. As usedin this disclosure “conventional bulbs” may include incandescent bulbs,fluorescent bulbs, LED bulbs, or any other bulbs known to those skilledin the art and not incorporating both the communication and controlcircuitry attributed to smart bulbs above. In a preferred embodiment,the conventional bulbs controlled are incandescent bulbs, because theyare insensitive to power-electronic control techniques such aspulse-width modulation (PWM) and phase-angle controlled thyristors, aswill be understood by those skilled in the art. However, persons havingordinary skill in the art will also understand that other embodimentsmay include known technologies that permit dimming of LED andfluorescent lighting (whether incorporating conventional or solid-stateballasts).

FIG. 2 illustrates the functional components of a lighting controldevice 200 for implementing a user-modifiable lighting schedule. Thedevice 200 is operatively connected to external alternating-current (AC)power 202 and is functionally connected to at least one conventionalbulb 204 and/or at least one smart bulb 206, which may be controlleddirectly by the device 200 or through an intermediary smart-bulb controldevice 208.

Internally, the device 200 may include power-management components suchas a dimmer 210 connected to output terminals 212 and a direct-current(DC) power supply 214. The dimmer 210 and DC power supply 214 areconnected to AC power 206. The DC power supply 214 is further connectedto and supplies regulated DC power to environmental sensors 216 (ifpresent), analog inputs 218, a logic module 220, and a wirelesstransceiver 222. The environmental sensors 216, analog inputs 218, andwireless transceiver 222 are operatively connected to the logic module220. The logic module is also operatively connected to the dimmer 210.The wireless transceiver 222 may also be operatively connected to one ormore smart bulbs 206, one or more smart bulb control devices 208, and/orone or more wireless devices 224.

In one embodiment environmental sensors 216 gather environmental data226 and provide the environmental data 226 to the logic module 220. Theenvironmental sensors 216 may gather data on ambient light, ambientsound, and/or occupancy of a room. The ambient light data may includethe intensity of the ambient light and the color of the ambient light.Intensity may be measured in candela, lumens per steradian, or otherunits, as will be understood by one having ordinary skill in the art.The color of the ambient light may be measured as a combination ofprimary colors, for example red, green, and blue, or cyan, magenta, andyellow. The color of the ambient light may also be measured as a colortemperature, or by another means, as will be understood by one havingordinary skill in the art. Occupancy of a room may be detected by theheat signature of one or more people, the presence or absence ofmovement in the room, or another technology, as will be understood bythose having ordinary skill in the art. For example, in one embodiment,the lighting control may implement a different schedule for a room fullof people versus a single person.

The analog inputs 218 gather user input through physical interactionwith the device. This analog input data 228 is provided to the logicmodule 220. The analog input data 228 may be provided by physicalinteraction with a sliding or rotary dimmer switch, an on/off switch ofany of several types, a touch pad, a touch screen, a capacitive touchswitch, or any other physical control known to those skilled in the art.

The wireless transceiver 222 gathers digital input data 232 from awireless device 224. The wireless device may be any computing devicecapable of wireless communication, including but not limited to theWiFi, Bluetooth, and ZigBee communication protocols. Examples ofwireless devices include smartphones, tablets, and notebook computers.The digital input data 232 provides user input regarding the lighting.The digital input data 232 may include commands to turn lights on oroff, to change the color of one or more smart bulbs 206, or change thebrightness of one or more smart bulbs 206 or conventional bulbs 204. Thewireless transceiver 222 also sends commands 234 to the smart bulbs 206and/or the smart bulb control device 208 to turn lights on or off, thechange the color of one or more smart bulbs 206, or change thebrightness of one or more smart bulbs 206.

In some embodiments, a user may also be able to communicate directlywith either the smart bulbs 206 or the smart bulb control device 208 viaa wireless device 224. In these embodiments, the wireless transceiver222 will also interrogate the smart bulbs 206 and/or the smart bulbcontrol device 208 for their current settings and communicate thisinformation to the logic module 220.

The conventional bulbs 204 are controlled by signals sent from the logicmodule 220 to the dimmer 210. The dimmer 210 modifies the waveform ofthe AC power 202 to modify the power delivered to the terminals 212. Inone embodiment, the dimmer 210 may, for example, be a triac configuredto adjust the closing phase angle of the AC waveform (chopping). Inanother embodiment, the dimmer 210 may include a pair of opposedtransistors implementing PWM. In this embodiment, “transistors” includesbipolar junction transistors (BJTs), field-effect transistors (JFETs,MOSFETs, etc.), insulated-gate bipolar transistors (IGBT) and similarsolid-state devices, as understood by those skilled in the art. Thedimmer 210 may also include other technologies to modify the powerprovided to the conventional bulbs 204, as will be understood by thosehaving ordinary skill in the art.

FIG. 3 is a block diagram illustrating components involved in thelighting control system's data management. Other conventional elementsof the system such as power circuits are not shown. In one embodiment,the lighting control device 200 includes dimmer 210, environmentalsensors 216, analog inputs 218, a logic module 220, and a communicationmedium 300. The logic module 220 is operatively connected to thelighting controls 308, which may include the dimmer 210, environmentalsensors 216; user inputs 306 which may include the analog inputs 218;and the communication medium 300. The communication medium may be awired or wireless Internet connection, a modem, or any other means ofcommunicating with a remote server, as will be understood by thosehaving ordinary skill in the art. The communication medium 300 isfurther operatively connected to lighting controls 308 and a server 302.The server is further operatively connected to a database 304. Thelighting controls may further include one or more smart bulb controldevices 208. The user inputs may further include applications 310 run onone or more wireless devices 224.

The logic module 220 records lighting control data 312 from theenvironmental sensors 216, the user inputs 306 and the lighting controls308. This lighting control data is transmitted to the server 302 via thecommunication medium 300. The server 302 stores the lighting controldata 312 in a database 304 and generates a new lighting control schedule314 for the lighting control device based on the lighting control data312.

FIG. 4 is a block diagram illustrating the functional elements of oneembodiment of the logic module 220 of FIGS. 2 and 3. As shown, the logicmodule 220 includes a microcontroller 400, memory 402, analog to digital(ADC) inputs 404, logic 406, and direct digital inputs 408. Thesefunctional elements are connected by a data bus 410 or similar internalcommunication structure, as will be understood by those skilled in theart. In one embodiment, some or all of the functional elements of thelogic module 220 may be combined in a single integrated circuit (IC).For example, the microcontroller 400 and logic 406 may be combined in asingle IC as with an application-specific integrated circuit (ASIC) orfield-programmable gate array (FPGA). The ADC and digital inputs andmemory can similarly be integrated into a single IC with the logic 406and microcontroller 400. An IC can include a multitude of combinations,as will be understood by those having ordinary skill in the art.

In another embodiment, some or all of the components may be discreetcomponents, for example on a printed circuit board assembly (PCBA). Inthis embodiment, the components may be connected 410 by traces on thePCBA. The memory 402 may be any type of easy to read-and-writenon-volatile memory such as flash memory, as known to those skilled inthe art. In this embodiment, the logic 406 may be stored within thememory 402, or may be stored in a discreet component, such as an EPROMor EEPROM as “firmware.” The ADC input(s) 404 may be a single IC or mayinclude an array of circuit components to condition analog signals andconvert them to digital outputs, as understood by those skilled in theart. The digital inputs 408 may be integrated into the microcontroller400 or may include additional components to condition the digitalsignals for the microcontroller 400.

FIG. 5 illustrates exemplary logic 500 for the lighting control device200 software or firmware. At 502 the lighting control device 200 obtainsan updated lighting schedule from the server. At 504, the updatedlighting schedule is compared with the schedule previously stored on thedevice. At 506, the updated schedule is stored on the device, replacingthe previously stored schedule if the schedules are different. At 508,the device obtains current settings for user input data, from both theanalog controls on the lighting control device and any digitalsmart-bulb settings. At 508 the device also obtains measurements fromthe environmental sensors. At 510, the device transmits the user inputdata and environmental data to a server. At 512 the device compares theenvironmental data with the desired environmental conditions defined inthe schedule. The desired environmental conditions are defined by upperand lower control limits for particular environmental measurements, suchas light intensity and hue/color. At 514 the lighting settings areadjusted, if necessary, to bring the current environmental conditionswithin the control limits defined by the updated lighting schedule. At516, the device waits for the next scheduled event. The next scheduledevent may be obtaining an updated schedule, in which case the devicewill do so. Otherwise, the device will return to the monitoring thesettings and environmental data, comparing them to the schedule, andmaking changes as appropriate.

A bulb far away from the sensor will likely have little effect on thesensor's ambient light reading. Such a distant bulb may thus be adjustedfrom maximum to minimum brightness in response to minor changes in theuser's preferred ambient light levels. For example, if the sensorindicates that the room should be brighter, it may increase the distantbulb's brightness by 10%. However, the overall brightness in the roomdetected by the sensor would be essentially unchanged, so the sensor mayagain increase the distant bulb's brightness by 10%. Again, the detectedbrightness in the room remains essentially unchanged. This effectcreates an undesirable underdamped feedback loop. The underdampedfeedback loop results in distant bulbs always being at either maximum orminimum brightness. The feedback loop can be corrected by calibratingthe effect of each bulb on the overall brightness detected by thesensor.

In one embodiment, the device implements a calibration routine duringinitial setup. This calibration routine brightens and dims eachconnected bulb and determines its overall effect on the sensor. It thenassigns an influence value for the bulb relative to the other bulbs.Thus, a distant bulb which does not directly “see” the sensor would havea low influence value and a nearby bulb directly in front of the sensorwould have a high influence value. The device determines the degree towhich each bulb should be adjusted based on these influence values.

In another embodiment, the user determines a maximum difference for eachbulb between the user's preferred settings and the actual output of thebulb. In another embodiment, the system adjusts each bulb in sequence,one at a time, and then uses the sensor feedback to determine whether ornot the cumulative adjustment of all the controlled bulbs has attainedthe desired effect, then makes further adjustment based on the results.

FIG. 6 illustrates an exemplary process flow 600 for generating lightingcontrol schedules in a lighting control system. At 602 the serverobtains updated monitoring data from one or more lighting controldevices. The monitoring data may include environmental lighting datasuch as ambient light intensity, hue, etc., as disclosed above. Themonitoring data may also include user input data, such as on/off statusfor individual bulbs, time-out settings, and desired lighting intensityand hue, as disclosed above. At 604 the server sorts all of themonitoring data received from a plurality of lighting control devicesinto records received from each individual lighting control device. At606 the server analyzes the records received from each individuallighting control device. The analysis compares new records to previouslyreceived data from the lighting control device and to previouslytransmitted lighting schedules. At 608 the server generates a newlighting schedule for each lighting control device for which newmonitoring data is available. The new lighting schedules are based onpreviously transmitted lighting schedules, previously receivedmonitoring data from the lighting control device, and the newly receivedmonitoring data from the lighting control device. The newly receivedmonitoring data is weighted relative to the previously receivedmonitoring data and the transmitted lighting schedule is modified tomore closely reflect the weighted data. At 610 the newly generatedlighting schedule is stored in a database. At 612 the server obtainsrequests for new future lighting schedules. The individual lightingcontrol devices may send the request automatically or the server may“ping” the individual lighting control devices to see if they need newschedules. At 614 the new future lighting schedules are transmitted tothe appropriate individual lighting control devices.

FIG. 7 illustrates exemplary logic 700 for temporarily interrupting thescheduled operation of a lighting control device. At 702, the device isoperating according to a schedule. At 704, the device detects userchanges to the lighting settings. The device may detect changes madedirectly through physical contact with analog inputs 218 on the device200, for example a dimmer knob, dimmer slider, or touchscreen. Thedevice 200 may also detect changes made remotely, but requiring directaction by the device. For example, the brightness of conventional bulbs204 controlled by the device is controlled via a dimmer 210 within thedevice. If a user changes the brightness of conventional bulbs using anapplication on a wireless device 224, the device 200 will detect thisuser change. The device 200 may also detect lighting changes by changesin the environment. Such a change will be registered by theenvironmental sensors 216. The device may also detect changes byinterrogating a smart-bulb control device 208 or by interrogating smartbulbs 206 directly.

At 706, the device interrupts scheduled operation. This means the devicewill not make scheduled lighting changes until the interruption iscanceled. Depending on user settings, the device may also interruptmonitoring functions. This means the device will stop recordingenvironmental data and user changes until the interruption is canceled.At 708, the device may implement the user change. In some embodiments,this step may not be required. It may be required if, for example, theuser changed brightness settings using an application on a wirelessdevice. The device may immediately interrupt scheduled operation 706while the brightness is fine-tuned to implement the user change 708. Insome embodiments, such as direct control of the smart bulbs through thewireless device, the user change must be implemented directly by thesmart bulbs before the device can detect the change and interrupt theschedule.

At 710, the device starts a timer for fixed time-out period. The periodmay be a default setting within the device or it may be customized bythe user. At 712, the device monitors for additional user changes, whichmay be detected by any of the method described for step 704. Ifadditional user changes are made before the fixed time-out periodelapses, the timer is reset 714 and time-out period begins again 710. Ifthe fixed time-out period elapses without any additional user changes716, the device returns to scheduled operation 702.

In another embodiment, a user may manually interrupt the scheduledoperation and/or the monitoring/recording function for an indefinitetime period. Such an “indefinite time-out” basically instructs thedevice “don't make any changes at all until I say so”. Such an“indefinite time-out” may be a specific user setting controlled fromwithin an application on a wireless device. Alternately it might be anadjustable setting using controls on the lighting control device.

The design and functionality described in this application is intendedto be exemplary in nature and is not intended to limit the instantdisclosure in any way. Those having ordinary skill in the art willappreciate that the teachings of the disclosure may be implemented in avariety of suitable forms, including those forms disclosed herein andadditional forms known to those having ordinary skill in the art. Forexample, one skilled in the art will recognize that executableinstructions may be stored on a non-transient, computer-readable storagemedium, such that when executed by one or more microcontrollers, causesthe one or more microcontrollers to implement the method describedabove.

As used in this application, the terms “component,” “module,” “system”and the like are intended to include a computer-related entity, such asbut not limited to hardware, firmware, a combination of hardware andsoftware, software, or software in execution. For example, a componentmay be, but is not limited to being, a process running on amicrocontroller, a microcontroller, a process running on a processor, aprocessor, an object, an executable, a thread of execution, a program,and/or a computer. By way of illustration, both an application runningon a computing device and the computing device can be a component. Oneor more components can reside within a process and/or thread ofexecution and a component may be localized on one computer and/ordistributed between two or more computers. In addition, these componentscan execute from various computer readable media having various datastructures stored thereon. The components may communicate by way oflocal and/or remote processes such as in accordance with a signal havingone or more data packets, such as data from one component interactingwith another component in a local system, distributed system, and/oracross a network such as the Internet with other systems by way of thesignal.

Certain embodiments of this technology are described above withreference to block and flow diagrams of computing devices and methodsand/or computer program products according to example embodiments of thedisclosure. It will be understood that one or more blocks of the blockdiagrams and flow diagrams, and combinations of blocks in the blockdiagrams and flow diagrams, respectively, can be implemented bycomputer-executable program instructions. Likewise, some blocks of theblock diagrams and flow diagrams may not necessarily need to beperformed in the order presented, or may not necessarily need to beperformed at all, according to some embodiments of the disclosure.

These computer-executable program instructions may be loaded onto ageneral-purpose computer, a special-purpose computer, a microcontroller,a processor, or other programmable data processing apparatus to producea particular machine, such that the instructions that execute on thecomputer, microcontroller, processor, or other programmable dataprocessing apparatus create means for implementing one or more functionsspecified in the flow diagram block or blocks. These computer programinstructions may also be stored in a computer-readable memory that candirect a computer or other programmable data processing apparatus tofunction in a particular manner, such that the instructions stored inthe computer-readable memory produce an article of manufacture includinginstruction means that implement one or more functions specified in theflow diagram block or blocks.

As an example, embodiments of this disclosure may provide for a computerprogram product, comprising a computer-usable medium having acomputer-readable program code or program instructions embodied therein,said computer-readable program code adapted to be executed to implementone or more functions specified in the flow diagram block or blocks. Thecomputer program instructions may also be loaded onto a computer orother programmable data processing apparatus to cause a series ofoperational elements or steps to be performed on the computer or otherprogrammable apparatus to produce a computer-implemented process suchthat the instructions that execute on the computer or other programmableapparatus provide elements or steps for implementing the functionsspecified in the flow diagram block or blocks.

Accordingly, blocks of the block diagrams and flow diagrams supportcombinations of means for performing the specified functions,combinations of elements or steps for performing the specifiedfunctions, and program instruction means for performing the specifiedfunctions. It will also be understood that each block of the blockdiagrams and flow diagrams, and combinations of blocks in the blockdiagrams and flow diagrams, can be implemented by special-purpose,hardware-based computer systems that perform the specified functions,elements or steps, or combinations of special-purpose hardware andcomputer instructions.

While certain embodiments of this disclosure have been described inconnection with what is presently considered to be the most practicaland various embodiments, it is to be understood that this disclosure isnot to be limited to the disclosed embodiments, but on the contrary, isintended to cover various modifications and equivalent arrangementsincluded within the scope of the appended claims. Although specificterms are employed herein, they are used in a generic and descriptivesense only and not for purposes of limitation.

This written description uses examples to disclose certain embodimentsof the technology and also to enable any person skilled in the art topractice certain embodiments of this technology, including making andusing any apparatuses or systems and performing any incorporatedmethods. The patentable scope of certain embodiments of the technologyis defined in the claims, and may include other examples that occur tothose skilled in the art. Such other examples are intended to be withinthe scope of the claims if they have structural elements that do notdiffer from the literal language of the claims, or if they includeequivalent structural elements with insubstantial differences from theliteral language of the claims.

What is claimed is:
 1. A lighting control device comprising: amicrocontroller; a memory operatively connected to the microcontroller,wherein the memory comprises executable instructions; at least onewireless transceiver operatively connected to the microcontroller; atleast one dimmer operatively connected to the microcontroller; at leastone powered lighting output operatively connected to the at least onedimmer; at least one environmental sensor operatively connected to themicrocontroller; at least one input device operatively connected to themicrocontroller; and wherein the microcontroller is configured toexecute the executable instructions in order to perform a methodcomprising: obtaining environmental data from the at least oneenvironmental sensor; obtaining input data from the at least one inputdevice; transmitting the environmental data and the input data to anexternal server; obtaining, from the external server, a lightingoperating schedule based on the environmental data and the input data;and executing the lighting operating schedule.
 2. The lighting controldevice of claim 1 wherein the environmental data comprises at least oneof: an intensity of ambient light, a color of ambient light, anintensity of ambient sound, one or more frequencies of ambient sound, aheat signature indicating the presence or absence of at least oneperson, and a motion signature indicating the presence or absence of atleast one person.
 3. The lighting control device of claim 1 wherein theat least one input device comprises at least one of: a wirelesscomputing device, an analog dimmer switch, an analog on-off switch, atouch pad, a touch screen, and a capacitive touch switch.
 4. Thelighting control device of claim 3 wherein the input data from the atleast one input device comprises at least one of: a command to increaseambient light intensity, a command to decrease ambient light intensity,a command to change the color of ambient light, a command to turn one ormore individual lights on or off, a command to change a color of one ormore individual lights, a command to increase a light intensity of oneor more individual lights, and a command to decrease a light intensityof one or more individual lights.
 5. The lighting control device ofclaim 1 wherein the at least one dimmer comprises a plurality ofcontrollable semiconductor devices.
 6. The lighting control device ofclaim 5 wherein the plurality of controllable semiconductor devicescontrol the electrical current output to the at least one poweredlighting output via at least one of: adjusting the closing angle of analternating-current waveform and pulse width modulation.
 7. The lightingcontrol device of claim 1 wherein the microcontroller is configured toexecute the executable instructions in order to perform the methodfurther comprising: comparing the lighting operating schedule obtainedfrom the external server to a currently-executing lighting operatingschedule; and modifying the currently-executing lighting operatingschedule to match the lighting operating schedule obtained from theexternal server if the lighting operating schedule obtained from theexternal server is different from the currently-running lightingoperating schedule.
 8. The lighting control device of claim 1 whereinthe microcontroller is configured to execute the executable instructionsin order to perform the method further comprising: determining if theenvironmental data from the at least one environmental sensor conformsto at least one environmental control limit; and if the environmentaldata from the at least one environmental sensor does not conform to theat least one environmental control limit, executing lighting commands tocause the environmental data from the at least one environmental sensorto conform to the at least one environmental control limit.
 9. Thelighting control device of claim 1 wherein the microcontroller isfurther configured to execute the executable instructions in order toperform the method further comprising implementing a calibration routineduring an initial setup.
 10. The lighting control device of claim 9wherein implementing the calibration routine during the initial setupcomprises: brightening and dimming at least one connected bulb;obtaining at least one of additional ambient light intensity andadditional ambient light color data from the at least one environmentalsensor; determining an overall effect of the at least one connected bulbon at least one of the ambient light intensity and the color of ambientlight based on the additional ambient light intensity and ambient lightcolor data; and assigning an influence value for the at least oneconnected bulb.
 11. The lighting control device of claim 9 whereinimplementing the calibration routine during the initial setup comprises:individually brightening and dimming each of a plurality of connectedbulbs in sequence; obtaining at least one of additional ambient lightintensity and additional ambient light color data from the at least oneenvironmental sensor; determining an aggregate effect of individuallybrightening and dimming each of the plurality of connected bulbs basedon the additional ambient light intensity and ambient light color data;and assigning an influence value for each of a plurality of connectedbulbs.
 12. The lighting control device of claim 10 or 11 wherein theinfluence value is constrained to a user-selected range.
 13. Thelighting control device of claim 1 wherein the microcontroller isfurther configured to execute the executable instructions in order toperform the method further comprising: detecting a change to at leastone user setting; interrupting execution of the lighting operatingschedule based on the detected change to at least one user setting;initiating an interruption countdown having a fixed duration; monitoringthe at least one input device for an additional change to at least oneuser setting; resuming execution of the lighting operating schedule ifan additional change to at least one user setting is not detected beforethe fixed duration of the interruption countdown elapses; and restartingthe interruption countdown if an additional change to at least one usersetting is detected before the fixed duration of the interruptioncountdown elapses.
 14. The lighting control device of claim 13 whereinthe microcontroller is further configured to execute the executableinstructions in order to perform the method further comprising:executing the change to at least one user setting by at least one of:controlling one or more smart bulbs via the at least one wirelesstransceiver, and controlling the electrical current output to the atleast one powered lighting output via the at least one dimmer.
 15. Alighting control system comprising: a microcontroller; a memory,operatively connected to the microcontroller, wherein the memorycomprises executable instructions that when executed by themicrocontroller cause the microcontroller to perform a methodcomprising: obtaining environmental data from at least one environmentalsensor; obtaining input data from at least one input device;transmitting the environmental data and the input data to an externalserver; obtaining from the external server a lighting operating schedulebased on the environmental data and the input data from the externalserver; executing the lighting operating schedule from the externalserver by at least one of: controlling one or more smart bulbs via atleast one wireless transceiver, and controlling the current output to atleast one powered lighting output via at least one dimmer.
 16. Thelighting control system of claim 15 wherein the method furthercomprises: determining if the environmental data from the at least oneenvironmental sensor is within at least one environmental control limit;and if the environmental data from the at least one environmental sensordoes not conform to the at least one environmental control limit,executing lighting commands to cause the environmental data from the atleast one environmental sensor to conform to the at least oneenvironmental control limit.
 17. The lighting control system of claim 15wherein the method further comprises implementing a calibration routineduring an initial setup.
 18. The lighting control device of claim 17wherein the calibration routine: brightens and dims at least oneconnected bulb; obtains at least one of additional ambient lightintensity and additional ambient light color data from the at least oneenvironmental sensor; determines an overall effect of the at least oneconnected bulb on at least one of the ambient light intensity and thecolor of ambient light based on the additional ambient light intensityand ambient light color data; and assigns an influence value for the atleast one connected bulb.
 19. The lighting control device of claim 17wherein the calibration routine: individually brightens and dims each ofa plurality of connected bulbs in sequence; obtains at least one ofadditional ambient light intensity and additional ambient light colordata from the at least one environmental sensor; determines an aggregateeffect of individually brightening and dimming each of the plurality ofconnected bulbs based on the additional ambient light intensity andambient light color data; and assigns an influence value for each of aplurality of connected bulbs.
 20. A computer system comprising: aprocessor; a memory, operatively connected to the processor, wherein thememory comprises executable instructions that when executed by theprocessor cause the processor to perform a method comprising: obtainingenvironmental data and input data from at least one lighting controldevice; weighting the obtained environmental data and input data;generating a new lighting operating schedule based on a preexistinglighting operating schedule and the environmental data and the inputdata, wherein the new lighting operating schedule defines at least oneof a lighting intensity and a lighting color for one or more lights as afunction of time; and wherein the new lighting operating schedulecomprises a preexisting lighting operating schedule modified toincorporate the weighted environmental data and input data.